package mx.ipn.escom.redes.equipo.model;

import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

@Entity
@Table(name="sala")
public class Sala {
	
	private Integer idSala;
	
	private String nombreSala;
	
	private String idEncargado;
	
	private Empleado encargado; 
	
	private List<Equipo> listEquipo;

	/**
	 * @return the idSala
	 */
	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(name = "idSala", nullable = false)
	public Integer getIdSala() {
		return idSala;
	}

	/**
	 * @param idSala the idSala to set
	 */
	public void setIdSala(Integer idSala) {
		this.idSala = idSala;
	}

	/**
	 * @return the nombreSala
	 */
	@Column(name = "nombreSala", nullable = false)
	public String getNombreSala() {
		return nombreSala;
	}

	/**
	 * @param nombreSala the nombreSala to set
	 */
	public void setNombreSala(String nombreSala) {
		this.nombreSala = nombreSala;
	}

	/**
	 * @return the idEncargado
	 */
	@Column(name = "idEncargado", nullable = false)
	public String getIdEncargado() {
		return idEncargado;
	}

	/**
	 * @param idEncargado the idEncargado to set
	 */
	public void setIdEncargado(String idEncargado) {
		this.idEncargado = idEncargado;
	}

	/**
	 * @return the encargado
	 */
	@ManyToOne
	@JoinColumn(name = "idEncargado", referencedColumnName = "idEmpleado", insertable = false, updatable = false)
	public Empleado getEncargado() {
		return encargado;
	}

	/**
	 * @param encargado the encargado to set
	 */
	public void setEncargado(Empleado encargado) {
		this.encargado = encargado;
	}

	/**
	 * @return the listEquipo
	 */
	@OneToMany(mappedBy = "sala")
	public List<Equipo> getListEquipo() {
		return listEquipo;
	}

	/**
	 * @param listEquipo the listEquipo to set
	 */
	public void setListEquipo(List<Equipo> listEquipo) {
		this.listEquipo = listEquipo;
	}
	
	

}
